package com.xingzhi.shortvideosharingplatform.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xingzhi.shortvideosharingplatform.dto.FollowingUserDTO;
import com.xingzhi.shortvideosharingplatform.dto.UserFollowDTO;
import com.xingzhi.shortvideosharingplatform.model.UserFollow;

import java.util.List;

public interface UserFollowService extends IService<UserFollow> {
    
    /**
     * 检查用户是否已关注
     * @param followerId 关注者ID
     * @param followingId 被关注者ID
     * @return 是否已关注
     */
    boolean isFollowed(Long followerId, Long followingId);
    
    /**
     * 用户关注
     * @param followDTO 关注信息DTO
     * @return 是否关注成功
     */
    boolean follow(UserFollowDTO followDTO);
    
    /**
     * 取消关注
     * @param followerId 关注者ID
     * @param followingId 被关注者ID
     * @return 是否取消成功
     */
    boolean unfollow(Long followerId, Long followingId);
    
    /**
     * 获取用户关注的人列表
     * @param userId 用户ID
     * @return 关注的用户列表
     */
    List<FollowingUserDTO> getFollowingList(Long userId);
} 